#include "mytest.h"
#include "ui_mytest.h"

#include <QDockWidget>
#include <QLabel>
#include <QComboBox>
#include <QGridLayout>
#include <QPushButton>
#include <QStringList>
#include <QStringListModel>
#include <QMessageBox>
#include <QStandardItemModel>



MyTest::MyTest(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MyTest)
{
    ui->setupUi(this);

//    QDockWidget *dw=new QDockWidget("停靠窗口部件测试：Dock Widget-->Vico", this);

//    // 设置颜色
//    QPalette pal;
//    pal.setColor(QPalette::Background,Qt::cyan);
//    dw->setAutoFillBackground(true);
//    dw->setPalette(pal);

//    // 学历层次
//    QLabel *lab=new QLabel("学历层次：");

//    QComboBox *cbx=new QComboBox();
//    cbx->addItem("小学");
//    cbx->addItem("初中");
//    cbx->addItem("高中");
//    cbx->addItem("专科");
//    cbx->addItem("本科");
//    cbx->addItem("硕士研究生");
//    cbx->addItem("博士研究生");

//    QPushButton *pbt1=new QPushButton("清华大学");
//    QPushButton *pbt2=new QPushButton("北京大学");

//    // 通过栅格布局（网格布局）
//    QGridLayout *glayout=new QGridLayout();
//    glayout->addWidget(lab,0,0,1,1);
//    glayout->addWidget(cbx,0,1,1,1);
//    glayout->addWidget(pbt1,1,0,1,1);
//    glayout->addWidget(pbt2,1,1,1,1);

//    glayout->setHorizontalSpacing(10);
//    glayout->setVerticalSpacing(10);
//    glayout->setContentsMargins(20,20,20,20);


//    QWidget *wgt=new QWidget();

//    wgt->setLayout(glayout);   //把glayout设置到wgt里面，然后再把wgt设置到dw里面
//    dw->setWidget(wgt);



    //dw->setMaximumSize(300,300);

      //listView, 条形视图的使用
//    QStringList qlist = QStringList() << "111" << "222" << "333" << "444" << "555";
//    QStringListModel* listMode = new QStringListModel(qlist);

//    ui->listView->setModel(listMode);


//     //treeViem,树形视图的使用
//     QStandardItemModel* sItemMode = new QStandardItemModel();
//     sItemMode->setHorizontalHeaderLabels(QStringList() << "编号" << "初中部 | 高中部");

//     //一级节点，并添加进入sItemModel
//     QList<QStandardItem*> item11;
//     QStandardItem* item1 = new QStandardItem(QString::number(1));
//     QStandardItem* item2 = new QStandardItem("初中部");
//     item11.append(item1);
//     item11.append(item2);
//     sItemMode->appendRow(item11); // ！！！


//     //二级节点, 添加到第一个一级节点
//     QList<QStandardItem*> item112;
//     QStandardItem *item1121=new QStandardItem(QString::number(2));
//     QStandardItem *item1122=new QStandardItem(QStringLiteral("一年级"));
//     item112.append(item1121);
//     item112.append(item1122);
//     item1->appendRow(item112);  //！！！

//     // 三级节点，添加到第一个二级节点
//     QList<QStandardItem*> item1231;
//     QStandardItem *item12311=new QStandardItem(QString::number(3));
//     QStandardItem *item12312=new QStandardItem(QStringLiteral("一班"));
//     item1231.append(item12311);
//     item1231.append(item12312);
//     item1121->appendRow(item1231);  // ！！！


//     // 创建一级节点，将它加入到sItemModel
//     QList<QStandardItem*> item12;
//     QStandardItem *item3=new QStandardItem(QString::number(2));
//     QStandardItem *item4=new QStandardItem("高中部");
//     item12.append(item3);
//     item12.append(item4);
//     sItemMode->appendRow(item12);


//     ui->treeView->setModel(sItemMode);


//    //table View的使用
//    QStandardItemModel* stuMode = new QStandardItemModel();
//    stuMode->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("学号")));
//    stuMode->setHorizontalHeaderItem(1, new QStandardItem(QObject::tr("姓名")));
//    stuMode->setHorizontalHeaderItem(2, new QStandardItem(QObject::tr("性别")));
//    stuMode->setHorizontalHeaderItem(3, new QStandardItem(QObject::tr("分数")));

//    ui->tableView->setModel(stuMode);  //将数据模型添加到tableView
//    //ui->tableView->setColumnWidth(0, 200);  //将0列的宽度设置到200

//    //添加数据信息
//    stuMode->setItem(0, 0, new QStandardItem("111"));
//    stuMode->setItem(0, 1, new QStandardItem("张三"));
//    stuMode->setItem(0, 2, new QStandardItem("男"));
//    stuMode->setItem(0, 3, new QStandardItem("455"));

//    stuMode->setItem(1, 0, new QStandardItem("222"));
//    stuMode->setItem(1, 1, new QStandardItem("李四"));
//    stuMode->setItem(1, 2, new QStandardItem("男"));
//    stuMode->setItem(1, 3, new QStandardItem("560"));

//    stuMode->setItem(2, 0, new QStandardItem("333"));
//    stuMode->setItem(2, 1, new QStandardItem("李四"));
//    stuMode->setItem(2, 2, new QStandardItem("男"));
//    stuMode->setItem(2, 3, new QStandardItem("322"));

//    stuMode->sort(3, Qt::AscendingOrder);  //按第4列（下标）排序



}


MyTest::~MyTest()
{
    delete ui;
}


void MyTest::on_listView_clicked(const QModelIndex &index)
{
   QMessageBox::information(nullptr, "数字", index.data().toString());
}


